TIMAAT #9 - Umsetzung einer Ansicht zur Betrachtung von zugewiesenen Inhaltsdaten von Kategorien#10
Open
NKO97 wants to merge 72 commits into
Open
TIMAAT #9 - Umsetzung einer Ansicht zur Betrachtung von zugewiesenen Inhaltsdaten von Kategorien#10NKO97 wants to merge 72 commits into
NKO97 wants to merge 72 commits into
Conversation
* Added tab responsible to switch to categories view * Defined basic structure of categories view * Implemented timaat.categories module responsible to manage the new categories view
* Added nav tabs for categories and category sets * Implemented switch between different tabs * Implemented setting of correct sub url and opening the correct view when opening the client by using a specific url
* Added datatable cards for category and category set
* Added column responsible to show the selection state of category sets * Added column offering actions for a row of a category set * Load select extension of datatables during timaat client start
* Added column responsible to show the selection state of categories * Added column offering actions for a row of a category
* Implemented create/change-modals of categories * Refactored category endpoints: * Usage of a storage * Edit of category name and related category sets inside the same endpoint method
* Implemented create/change-modals of category sets * Refactored category set endpoints: * Usage of a storage * Edit of category set name and related categories inside the same endpoint method
* Implemented handler responsible to show delete modal * Implemented handler triggered when pressing the delete category set submit button
* Created module containing a generic data table implementation used for the categories tables * Implemented tables for Music and Medium * Fixed bug leading to jackson exception when using the patch endpoints of mediums
* Implemneted categories table for actors * Added TableColumnConfig for address objects
* Defined paging and sorting parameter type * Defined basic query parameter which can be used for listing endpoints * Defined filters for annotation listing endpoint
* Added jpa metamodel process org.eclipse.persistence.jpa.modelgen.processor * Configured maven to include generated sources of metamodel processor into the resulting war file
…ung-von-zugewiesenen-inhaltsdaten-von-kategorien # Conflicts: # src/main/webapp/css/timaat.css
* Implemented component which uses the tableColumnConfigs to show a popover on which columns of a table can be enabled and disabled * Added method which allows enable and disabled columns of tables
…column state * added storage implementation using the local storage to persist the current active column state of tables * added column selector popover component for medium, actor and annotation table
* Added datatables col-reorder plugin * Implemented mechanism to persist col order into local storage
…arameter to listing endpoint of music * Added methods to MusicStorage responsible to execute a listing by using the specified filter, paging and sorting parameter * Defined storage api which can be used across all storage implementations to load a stream of entities
* The storage allows the simple creation of database storage implementations by just define the filter, sorting field and root entity type
* Extending MediumStorage from DbStorage * Defined required filter criteria and sorting parameter
…category or category set has been selected * Added right view to categories which will be shown when no category or category set has been selected * Added active state to table to avoid sending requests when it's not necessary
…ry sets to create corresponding query parameter * Added field to table-class which describes the current query parameters. * The query parameters can be changed via a setter method * On each change a redraw of the table is executed * Added missing setter methods of query parameters to MediumListingQueryParameter and MusicListingQueryParameter. Changed Collection to List type, otherwise jersey will not map the values correctly.
…singning of category sets and categories to analysis list and annotation * Removed column category_set_id from table annotation_has_category * Created storage for analysis list * refactored event handler responsible to change the assigned category sets of a analyis list * refactored event handler responsible to change the assigned categories of annotations
* Updated database model: Added tables to related actors with category sets and categories * Added endpoints to update and read relation information between actors and categories/category sets * Updated actor listing endpoint. It now has a query parameter to filter by category and category set * Updated category content table to filter represented actors by selected category or category set
to segement structrue entities * Refactored endpoints responsible to get assigned and assignable categories of segment structure element as well as updating them * Defined working callbacks for save and cancel button of element responsible to define the categories of a segment structure element
…element * Added endpoint to get segment structure elements * Added views which are combining information of segment structure elements into one table
* Implemented initialization of table which is representing the segment structures of selected categories or category sets * Fixed some jpa errors
* Added filter popover which can be used to select the specific entity types which should be included inside the data tables.
* Added new filter to define the types of entities which should be returned by a listing operation
* Added type query parameter usage to filter categories content table by entity type
… type in datatables representing music of a specific type
Implemented database schema version 1.0.0 with following changes: * Added table `transcription` which is holding information about the available transcriptions * Each transcription is related to one medium * Added column `default_transcription_id` to table `medium` defining the transcription which is currently the default transcription of that medium * Added tables `transcription_engine` and `transcription_model` giving information about all engines which are currently or previously usable with the connected speech-to-text infrastructure * Added table `transcription_state` holding the difference states a transcription can have. The table `transcription_state_translation` contains the translation strings of the states * Added table `system_settings` containing the runtime changeable configuration parameters related to the whole TIMAAT system.
* Added entity definitions for new database schema * Fixed database create script
* Changed states which a transcription can enter * Define new TranscriptionType representing whether a transcription is imported or generated * Created db storage for transcriptions
…um to be used for transcriptions
``` Summary Goal is the implementation of handling of TranscriptionMediumPreparationTasks which should has a similar API as the MediumAudioAnalysisTasks Goal of the task is to create a PMC 16 bit little endian mono audio file out of the specified medium. This file will be persisted inside the AudioFileStorage or VideoFileStorage and will be used later to pass it to the external speech-to-text-service Requirements •New TranscriptionMediumPreparationTasks can be triggered by using the TaskService (equal to the MediumAudioAnalysisTasks) •During execution of the TranscriptionMediumPreparationTask it should be verified if a audio file is already existing. If yes the task need to do nothing •When service restarts it loads unfinished tasks. For TranscriptionMediumPreparationTasks a query will be executed on the Transcription-Entity having TranscriptionState WAITING_FOR_PREPARATION or PREPARING. •Add a placeholder implementation: When preparation task finished, the start of transcriptions referenced to the currently processed medium will be triggered for transcriptions having the currently processed mediumId ``` Model: GPT-5.5 Reasoning: medium
…ry pattern per task type
* Implemented creation process of transcriptions inside TranscriptionService * Defined TranscriptionFileStorage responsible to persist the transcription results
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
* The tables transcription_engine and transcription_model are now only used to persist the information about the model and engine used to create the transcriptions * The default_engine and default_model are now persisted inside the system_setting table * Added a method to TranscriptionService giving information about current available engines and models
* Updated third party dependencies * Set Java version to 25 to be compatible with speech-to-text-service-client library * Some code adjustments because of api changes of third party libraries * Defined new timaat configuration properties
- Introduced TranscriptionServiceException so createTranscription no longer leaks TaskServiceException to its callers - Persist transcription as the medium's default if no default is set yet (new MediumStorage.setDefaultTranscriptionIfAbsent) - Mark transcription as COMPLETED after the speech-to-text task finishes and the result file is persisted
* Implemented workflow to delete a transcription * If the transcription is used as default transcription of a medium, the default will be changed to the latest created one
…gs and gather transcription capabilities * Added EndpointTranscription giving information about current available engines and models * Added EndpointSystemSettings allowing to modify transcription settings like default model or auto creation of transcriptions
* If the current default model setting is empty, the first available model will be set as default model
…eation of medium transcription
* GET medium/{id}/transcriptions
* GET medium/{id}/transcriptions/{transcriptionId}
* POST medium/{id}/transcriptions
* Added auto_increment to id column of transcription table * Setting of createdBy column when creating a transcription * Auto creation of transcriptions when enabled
* Added endpoint allowing the deletion of a transcription * Added check to TranscriptionStorage allowing to determine their existence
…a medium * Defined new endpoint in EndpointMedium * Added method to MediumStorage allowing to update the default transcription of a medium
* Added endpoint to EndpointMedium allowing to download the SRT-file as stream
…-von-transkriptionen-in-timaat 57 umsetzung der erzeugung von transkriptionen in timaat
…ment * Added Traefic container providing TIMAAT over HTTPS and adding OWASP recommended security headers * Added configuration file which can be used to specifiy the public timaat domain and certificate containing directory. The definition of docker_socket is also possible, when running docker on macos or as rootles docker
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Übersicht
Im Rahmen dieses Merge requests wurde die Kategorieansicht basierend auf den im Ticket genannten Anforderungen umgesetzt.
Voraussetzung
Änderungen
Datenbank
annotation_has_categoryactor_has_category_setundactor_has_category, um actor-Einträge mit Kategorien verknüpfen zu könnenService
Client
Sonstige Hinweise
Im Rahmen der Durchführung dieses Tickets wurden folgende Bugs gefunden und behoben: